// [[ OnflowGenerator File UUID: 1fd5586a51854135a1ac61f372662ee9  ]]
package com.itdct.onflow.system.role.mapper;

import com.itdct.onflow.core.mapper.BaseMapper;
import com.itdct.onflow.core.vo.KeyLabelValueVo;
import com.itdct.onflow.system.role.entity.SysRoleMenuEntity;
import com.itdct.onflow.system.role.qo.SysRoleMenuSearchQo;
import com.itdct.onflow.system.role.vo.SysRoleMenuDetailVo;
import com.itdct.onflow.system.role.vo.SysRoleMenuListVo;

import org.apache.ibatis.annotations.Mapper;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.util.List;

/**
 * @author DCTANT
 * @date 2025-09-01 14:06:58
 * @version 1.0
 * @description 角色菜单关联查询工具
 */
@Mapper
public interface SysRoleMenuMapper extends BaseMapper<SysRoleMenuEntity> {
    @Nullable
    SysRoleMenuDetailVo findById(Long id);

    @NotNull
    List<SysRoleMenuListVo> findByList(SysRoleMenuSearchQo qo);

    // [[ OnflowGenerator Range (- selectFunctions -) Start ]]
    @NotNull
    List<KeyLabelValueVo> selectRoleIdList(SysRoleMenuSearchQo qo);

    @NotNull
    List<KeyLabelValueVo> selectMenuIdList(SysRoleMenuSearchQo qo);

    void deleteByRoleId(long id);

// [[ OnflowGenerator Range (- selectFunctions -) End ]]

}
